home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 February: Technology Seed / Mac Tech Seed Feb '97.toast / OpenDoc 1.2b2c1 / OpenDoc / Interfaces / C / LinkSpcB.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-02-13  |  6.0 KB  |  209 lines  |  [TEXT/MPS ]

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: LinkSpcB.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.18
  7.  *     SOM Emitter emith.dll: 2.33
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *  Classes defined in this interface
  13.  * 
  14.  */
  15.  
  16.  
  17. #ifndef SOM_ODBaseLinkSpec_h
  18. #define SOM_ODBaseLinkSpec_h
  19.  
  20.  
  21. #include <som.h>
  22.  
  23. /*
  24.  * -- This emitter treats Method Tokens as Thunks by default.
  25.  * -- Use the sc modifier "nothunks" to change this default
  26.  */
  27. #undef somresolve_
  28. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  29.  
  30. /*
  31.  * Define the class name as an object type
  32.  */
  33. #ifndef ODBaseLinkSpec
  34. #define ODBaseLinkSpec SOMObject
  35. #endif
  36. #include <ODObject.h>
  37.  
  38. /*
  39.  * Start of user-defined types:
  40.  */
  41. #ifndef SOMClass
  42.     #define SOMClass SOMObject
  43. #endif /* SOMClass */
  44. #ifndef SOMObject
  45.     #define SOMObject SOMObject
  46. #endif /* SOMObject */
  47. #ifndef ODFrame
  48.     #define ODFrame SOMObject
  49. #endif /* ODFrame */
  50. #ifndef ODFacet
  51.     #define ODFacet SOMObject
  52. #endif /* ODFacet */
  53. #ifndef ODObject
  54.     #define ODObject SOMObject
  55. #endif /* ODObject */
  56. #ifndef ODExtension
  57.     #define ODExtension SOMObject
  58. #endif /* ODExtension */
  59. #ifndef ODBaseLinkSpec
  60.     #define ODBaseLinkSpec SOMObject
  61. #endif /* ODBaseLinkSpec */
  62. #ifndef ODStorageUnit
  63.     #define ODStorageUnit SOMObject
  64. #endif /* ODStorageUnit */
  65.  
  66. /*
  67.  * End of user-defined types.
  68.  */
  69.  
  70. #define ODBaseLinkSpec_MajorVersion 1
  71. #define ODBaseLinkSpec_MinorVersion 0
  72.  
  73. /*
  74.  * External name shortening if required
  75.  */
  76. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  77. #define ODBaseLinkSpecClassData d
  78. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  79. /*--------------Migration------------*/
  80.  
  81. #ifdef OLDIBMSOMAPISUPPORT
  82. #define ODBaseLinkSpec_classObj somNewClassReference(ODBaseLinkSpec)
  83. #define _ODBaseLinkSpec ODBaseLinkSpec_classObj
  84. #define ODBaseLinkSpecCClassData ODBaseLinkSpecClassData
  85. #define ODBaseLinkSpecNewClass(major,minor) somNewVersionedClassReference(ODBaseLinkSpec,major,minor)
  86. #endif
  87.  
  88. /* define xxxMetaClass macro to facilitate (cls ## MetaClass) */
  89. #define ODBaseLinkSpecMetaClass SOMClass
  90.  
  91. #if PRAGMA_ALIGN_SUPPORTED
  92. #  pragma options align=power
  93. #endif
  94.  
  95. /*
  96.  * Declare the class data structure
  97.  */
  98. SOMEXTERN struct ODBaseLinkSpecClassDataStructure {
  99. #ifdef OLDIBMSOMAPISUPPORT
  100.     SOMAny            *classObject;    /* always zero, use somNewClassReference instead */
  101. #else
  102.     long zero;
  103. #endif
  104.     somStaticClassInfo *sci;
  105.     somDToken        instanceDataToken;
  106.     long reserved [3];
  107.     somMToken WriteLinkSpec;
  108.     somMToken ReadLinkSpec;
  109.     somMToken reserved1;
  110.     somMToken reserved2;
  111.     somMToken reserved3;
  112.     somMToken reserved4;
  113. } SOMDLINK ODBaseLinkSpecClassData;
  114.  
  115. #if PRAGMA_ALIGN_SUPPORTED
  116. #  pragma options align=reset
  117. #endif
  118.  
  119. #if !defined(ODBaseLinkSpec_Class_Source) && !defined(SOM_Module_linkspcb_Source)
  120. #if PRAGMA_IMPORT_SUPPORTED
  121. #pragma import list ODBaseLinkSpecClassData
  122. #endif
  123. #endif
  124.  
  125.  
  126. /*
  127.  * New macro for ODBaseLinkSpec
  128.  */
  129. #define ODBaseLinkSpecNew() somNewObject(ODBaseLinkSpec)
  130.  
  131. /*
  132.  * Override method: somInit
  133.  */
  134. #define ODBaseLinkSpec_somInit(somSelf) \
  135.     SOMObject_somInit(somSelf)
  136.  
  137. /*
  138.  * Override method: somUninit
  139.  */
  140. #define ODBaseLinkSpec_somUninit(somSelf) \
  141.     SOMObject_somUninit(somSelf)
  142.  
  143. /*
  144.  * New Method: WriteLinkSpec
  145.  */
  146. typedef void   (SOMLINK *somTD_ODBaseLinkSpec_WriteLinkSpec)(ODBaseLinkSpec *somSelf, Environment *ev,
  147.         ODStorageUnit* su);
  148. #define somMD_ODBaseLinkSpec_WriteLinkSpec "::ODBaseLinkSpec::WriteLinkSpec"
  149. #define ODBaseLinkSpec_WriteLinkSpec(somSelf,ev,su) \
  150.     (SOM_Resolve(somSelf, ODBaseLinkSpec, WriteLinkSpec) \
  151.     (somSelf,ev,su))
  152. #ifndef SOMGD_WriteLinkSpec
  153.     #if (defined(_WriteLinkSpec) || defined(__WriteLinkSpec))
  154.         #undef _WriteLinkSpec
  155.         #undef __WriteLinkSpec
  156.         #define SOMGD_WriteLinkSpec 1
  157.     #else
  158.         #define _WriteLinkSpec ODBaseLinkSpec_WriteLinkSpec
  159.     #endif /* _WriteLinkSpec */
  160. #endif /* SOMGD_WriteLinkSpec */
  161.  
  162. /*
  163.  * New Method: ReadLinkSpec
  164.  */
  165. typedef void   (SOMLINK *somTD_ODBaseLinkSpec_ReadLinkSpec)(ODBaseLinkSpec *somSelf, Environment *ev,
  166.         ODStorageUnit* su);
  167. #define somMD_ODBaseLinkSpec_ReadLinkSpec "::ODBaseLinkSpec::ReadLinkSpec"
  168. #define ODBaseLinkSpec_ReadLinkSpec(somSelf,ev,su) \
  169.     (SOM_Resolve(somSelf, ODBaseLinkSpec, ReadLinkSpec) \
  170.     (somSelf,ev,su))
  171. #ifndef SOMGD_ReadLinkSpec
  172.     #if (defined(_ReadLinkSpec) || defined(__ReadLinkSpec))
  173.         #undef _ReadLinkSpec
  174.         #undef __ReadLinkSpec
  175.         #define SOMGD_ReadLinkSpec 1
  176.     #else
  177.         #define _ReadLinkSpec ODBaseLinkSpec_ReadLinkSpec
  178.     #endif /* _ReadLinkSpec */
  179. #endif /* SOMGD_ReadLinkSpec */
  180. #ifndef SOM_DONT_USE_INHERITED_MACROS
  181. #define ODBaseLinkSpec_InitObject ODObject_InitObject
  182. #define ODBaseLinkSpec_HasExtension ODObject_HasExtension
  183. #define ODBaseLinkSpec_AcquireExtension ODObject_AcquireExtension
  184. #define ODBaseLinkSpec_ReleaseExtension ODObject_ReleaseExtension
  185. #define ODBaseLinkSpec_Purge ODObject_Purge
  186. #define ODBaseLinkSpec_IsEqualTo ODObject_IsEqualTo
  187. #define ODBaseLinkSpec_SubClassResponsibility ODObject_SubClassResponsibility
  188. #define ODBaseLinkSpec_somDuplicateReference SOMObject_somDuplicateReference
  189. #define ODBaseLinkSpec_somCompareReference SOMObject_somCompareReference
  190. #define ODBaseLinkSpec_somRelease SOMObject_somRelease
  191. #define ODBaseLinkSpec_somFree SOMObject_somFree
  192. #define ODBaseLinkSpec_somCanDelete SOMObject_somCanDelete
  193. #define ODBaseLinkSpec_somGetClass SOMObject_somGetClass
  194. #define ODBaseLinkSpec_somGetClassName SOMObject_somGetClassName
  195. #define ODBaseLinkSpec_somGetSize SOMObject_somGetSize
  196. #define ODBaseLinkSpec_somIsA SOMObject_somIsA
  197. #define ODBaseLinkSpec_somRespondsTo SOMObject_somRespondsTo
  198. #define ODBaseLinkSpec_somIsInstanceOf SOMObject_somIsInstanceOf
  199. #define ODBaseLinkSpec_somDispatch SOMObject_somDispatch
  200. #define ODBaseLinkSpec_somClassDispatch SOMObject_somClassDispatch
  201. #define ODBaseLinkSpec_somCastObj SOMObject_somCastObj
  202. #define ODBaseLinkSpec_somResetObj SOMObject_somResetObj
  203. #define ODBaseLinkSpec_somPrintSelf SOMObject_somPrintSelf
  204. #define ODBaseLinkSpec_somDumpSelf SOMObject_somDumpSelf
  205. #define ODBaseLinkSpec_somDumpSelfInt SOMObject_somDumpSelfInt
  206. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  207.  
  208. #endif       /* SOM_ODBaseLinkSpec_h */
  209.